// 角色管理模块的接口
import request from '@/utils/request'

// 枚举地址
const API = {
    // 获取全部的职位接口
    ALLROLE_URL: '/system/role/findPage',
    // 新增岗位的接口地址
    ADDROLE_URL: '/system/role/save',
    // 更新已有的职位
    UPDATEROLE_URL: '/system/role/update',
    // 删除已有的职位
    REMOVEROLE_URL: '/system/role/remove/',
    // 获取全部的菜单与按钮的数据
    ALLPERMISSTION: '/system/menu/getByRoleId/',
    // 给相应的职位分配权限
    SETPERMISTION_URL: '/system/menu/doAssign/?',
    // 切换角色
    CHANGEROLE_URL: '/system/role/changeRole/',
}

// 获取全部的角色
export const reqAllRoleList = (pageRequest) =>
    request.post(
        API.ALLROLE_URL, pageRequest,
    )

// 添加职位与更新已有职位接口
export const reqAddOrUpdateRole = (data) => {
    if (data.id) {
        return request.post(API.UPDATEROLE_URL, data)
    } else {
        return request.post(API.ADDROLE_URL, data)
    }
}

// 获取全部菜单与按钮权限数据
export const reqAllMenuList = (roleId) =>
    request.get(API.ALLPERMISSTION + roleId)

// 给相应的职位下发权限
export const reqSetPermisstion = (menuDto) =>
    request.post(API.SETPERMISTION_URL, menuDto)

// 删除已有的职位
export const reqRemoveRole = (roleId) =>
    request.delete(API.REMOVEROLE_URL + roleId)

// 批量删除的接口
export const reqRemoveRoles = (ids) => {
    // 将 idList 转换为字符串数组，并作为查询参数传递
    return request.get(API.REMOVEROLE_URL, {
        params: {ids: ids} // 以逗号分隔 id
    })
}

// 切换角色
export const changeRole = (roleId) => {
    // 将 idList 转换为字符串数组，并作为查询参数传递
    return request.get(API.CHANGEROLE_URL, {
        params: {roleId: roleId} // 以逗号分隔 id
    })
}

